package com.xydtech.ecard.merchant.service;

import com.xydtech.ecard.merchant.domain.EcardPersonInfo;

import java.util.List;

/**
 * 电子名片个人信息Service接口
 *
 * @author yuzhiguo
 * @date 2024-09-02 下午1:28
 */
public interface IEcardPersonInfoService {

    /**
     * 查询电子名片个人信息
     *
     * @param id 电子名片个人信息主键
     * @return 电子名片个人信息
     */
    public EcardPersonInfo selectEcardPersonInfoById(Long id);

    /**
     * 查询电子名片个人信息列表
     *
     * @param ecardPersonInfo 电子名片个人信息
     * @return 电子名片个人信息集合
     */
    public List<EcardPersonInfo> selectEcardPersonInfoList(EcardPersonInfo ecardPersonInfo, String salt);

    /**
     * 新增电子名片个人信息
     *
     * @param ecardPersonInfo 电子名片个人信息
     * @return 结果
     */
    public int insertEcardPersonInfo(EcardPersonInfo ecardPersonInfo, String salt);

    /**
     * 修改电子名片个人信息
     *
     * @param ecardPersonInfo 电子名片个人信息
     * @return 结果
     */
    public int updateEcardPersonInfo(EcardPersonInfo ecardPersonInfo, String salt);

    /**
     * 批量删除电子名片个人信息
     *
     * @param ids 需要删除的电子名片个人信息主键集合
     * @return 结果
     */
    public int deleteEcardPersonInfoByIds(String ids);

    /**
     * 删除电子名片个人信息信息
     *
     * @param id 电子名片个人信息主键
     * @return 结果
     */
    public int deleteEcardPersonInfoById(Long id);

    /**
     * 批量移交个人信息
     * @param ecardPersonInfoList
     * @param registId
     * @param userId
     * @return
     */
    int allocationEcardPersonInfo(List<EcardPersonInfo> ecardPersonInfoList, Long registId, Long userId);

    /**
     * 批量释放个人
     * @param ecardPersonInfoList
     * @return
     */
    int batchReleaseEcardPersonInfo(List<EcardPersonInfo> ecardPersonInfoList);

    /**
     * 批量启用/停用个人
     * @param ecardPersonInfoList
     * @return
     */
    int batchSwitchOverEcardPersonInfo(List<EcardPersonInfo> ecardPersonInfoList);

    /**
     * 查询导出的个人信息
     * @param ecardPersonInfo
     * @return
     */
    List<EcardPersonInfo> selectEcardPersonInfoListByExport(EcardPersonInfo ecardPersonInfo, String salt);

    /**
     * 根据id集合查询个人信息
     * @param ids
     * @return
     */
    List<EcardPersonInfo> selectEcardPersonInfoByIds(String ids, String salt);
}
